As cellular phones and other mobile computing devices have become more commonplace and powerful, the desire for certain applications to provide location-based functionality on these devices has increased. In order to provide such location-based functionality on a device, the location of the device needs to be known. The location of a device can sometimes be determined based on coordinates received from a global positioning system (GPS) of the device. However, it can be difficult to accurately determine the location of a device under certain circumstances, such as when the GPS receiver of the device is not able to determine an accurate location of the device.